//
//  SqStack.cpp
//  DataStructure
//
//  Created by 舒磊明 on 2020/6/26.
//  Copyright © 2020 Shuleiming. All rights reserved.
//

#include "SqStack.hpp"

// 初始化栈
void InitStack(SqStack &S)
{
    S.top = -1;
}

// 销毁栈
void DestoryStack(SqStack &S)
{
    S.top = -1;
}

// 入栈
bool Push(SqStack &S, Elemtype x)
{
    if (S.top == MAX_SIZE - 1) {
        return false;
    }
    S.data[++S.top] = x;
    return true;
}

// 出栈
bool Pop(SqStack &S, Elemtype &x)
{
    if (S.top == -1) {
        return false;
    }
    x = S.data[S.top--];
    return true;
}

// 读取栈顶元素
int GetTop(SqStack S)
{
    if (S.top > -1) {
        return S.data[S.top];
    }
    return -1;
}

// 判断栈空
bool StackEmpty(SqStack S)
{
    return S.top != -1;
}
